diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index a1d7d29..f8eea5b 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -38,7 +38,7 @@
 	 */	
 	function db_connect()
 	{
-		return mssql_connect($this->hostname, $this->username, $this->password);
+		return @mssql_connect($this->hostname, $this->username, $this->password);
 	}
 	
 	// --------------------------------------------------------------------
@@ -51,7 +51,7 @@
 	 */	
 	function db_pconnect()
 	{
-		return mssql_pconnect($this->hostname, $this->username, $this->password);
+		return @mssql_pconnect($this->hostname, $this->username, $this->password);
 	}
 	
 	// --------------------------------------------------------------------
@@ -250,7 +250,7 @@
 		if ($table == '')
 			return '0';
 	
-		$query = $this->query("SELECT COUNT(*) AS numrows FROM `".$this->dbprefix.$table."`");
+		$query = $this->query("SELECT COUNT(*) AS numrows FROM ".$this->dbprefix.$table);
 		
 		if ($query->num_rows() == 0)
 			return '0';
@@ -303,7 +303,7 @@
 	 */
 	function _field_data($table)
 	{
-		return "SELECT TOP 1 FROM ".$this->_escape_table($table);	
+		return "SELECT TOP 1 * FROM ".$this->_escape_table($table);	
 	}
 
 	// --------------------------------------------------------------------
@@ -348,10 +348,14 @@
 	 */
 	function _escape_table($table)
 	{
+		// I don't believe this is necessary with MS SQL.  Not sure, though. - Rick
+	
+		/*
 		if (stristr($table, '.'))
 		{
 			$table = preg_replace("/\./", "`.`", $table);
 		}
+		*/
 		
 		return $table;
 	}	
